NRU ( No usada recientemente)


La política FIFO funciona mal cuando hay una página que se ha referenciado mucho y lleva mucho tiempo. La política NUR sustituye las páginas que no han sido usadas recientemente.

La política NUR se basa, pues, en la siguiente observación: No es probable que sean utilizadas pronto las páginas que no se han utilizado recientemente, por lo que pueden reemplazarse con páginas entrantes.

Para ello, se le asignan a cada marco de página dos bits: R (orden de lectura), que marca cuando ha sido referenciado (leído), y M (orden de escritura) que marcar cuándo ha sido modificado. Inicialmente todos los bits R se ponen a 0. Cuando se referencia para leer se pone el bit del marco correspondiente R = 1 y si se escribe se pone M = 1. Para sustituir se busca una página con R = 0 y M = 0 y si no la hay buscamos una con R = 1 y M = 0. Cada un determinado período de tiempo se pone R = 0 porque si no todos los bits R serían 1 (los M no se modifican), ya que todos han sido alguna vez referenciados para estar en memoria principal

Si la página ha sido modificada hay que guardar esa página en memoria secundaria y luego pasar la página que va a sustituirla de memoria secundaria a principal. Si sólo ha sido leída, no ha habido cambios y no hay que grabarlo en memoria secundaria, sólo hay que cargar la nueva página en ese marco; en este caso tardamos la mitad en hacer el cambio. Por tanto, nos interesa cambiar las páginas que no han sido escritas.